反向代理的配置过程和正向代理没有什么太大区别,唯一的区别是配置文件中一个地方需要改动一下,需要把
|
|
|
|
改为
|
|
然后在增加要代理的后端真实服务器信息:
|
|
因为之前没有配置网站信息,所以用qq.com和 baidu.com 来做例子。其中 cache_peer 为配置后端的服务器 IP 以及端口,name 后边为要配置的域名,这里和后面的 cache_peer_domain 相对应。实际的应用中,ip 大多为内外 ip ,而域名也许会有多个,如果是 squid 要代理一台 web 上的所有域名,那么就要写成这样:
|
|
后面连 cache_peer_domain 也省了。
反向代理主要用于缓存静态项,因为诸多静态项目尤其是图片、流媒体等比较耗费宽带,如果网络资源本来就慢,再去访问大流量的的图片、流媒体那更慢了,所以如果配置一个 squid 反向代理,让客户直接访问这个 squid ,而这些静态项已经被缓存在了 squid 上,这样就大大加快了访问速度。CDN 的设计原理就是这样的思路。
因为修改了配置文件,所以需要重启一下 squid :
|
|
baidu.com 和 qq.com 都能正常访问,然而 sina.com 访问 503 了,这是因为并没有加 sina.com 的相关配置。
关于 squid ,还有一些知识点是需要了解的:
- -d:将指定调试等级的信息发送到标准错误设备;
- -f:使用指定的配置文件。而不使用默认配置文件;
- -k:向squid服务器发送指令;
- -s:启用syslog日志;
- -z:创建缓存目录;
- -C:不捕获致命信号;
- -D:不进行DNS参数测试;
- -N:以非守护进程模式运行;
- -X:强制进入完全调试模式。
上面把 squid 命令所用到的选项全部打印出来了,但最常用的除了 squid -k check 外,还有一个就是 squid -k reconfigure 它们两都可以简写:
|
|
其中第二条命令表示重新加载配置文件,如果更改了配置文件后,不需要重启 squid 服务,直接使用该命令重新加载配置即可。